/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.ipartek.formacion.gestformwww.modelo.beans;

import com.ipartek.formacion.gestformwww.controlador.Verificador;
import java.sql.Timestamp;
import java.util.ArrayList;

/**
 *
 * @author Iratxe-Jon
 */
public class Candidato {
    
    private int canId;
    private String canNif;
    private String canNss;
    private String canTlf1;
    private String canTlf2;
    private String canMail;
    private String canDir;
    private String canLocalidad;
    private Timestamp canFechaNac;
    private String canNom;
    private String canApe1;
    private String canApe2;
    private String canObserv ;
    private int empId;
    private int proId;
    private boolean canActivo;
    private int conId;
    private Estado estado;
    private CandConv candConv;
 

    public Candidato() {
    /** Constructor vacío**/
    }

    public Candidato(int canId, String canNif, String canNss, String canTlf1, String canTlf2, String canMail, String canDir, String canLocalidad, Timestamp canFechaNac, String canNom, String canApe1, String canApe2, String canObserv, int empId, int proId, boolean canActivo,int conId,Estado estado, CandConv candConv) {
        /** constructor con todos los atributos de la clase
         * @param canId
         * @param canNif
         * @param canNss
         * @param canTlf1
         * @param canTlf2
         * @param canMail
         * @param canDir
         * @param canLocalidad
         * @param canFechaNac
         * @param canNom
         * @param canape1
         * @param canApe2
         * @param canObserv
         * @param empId
         * @param proId
         * @param canActivo
         * @param conId
         * @param estado
         * @param candConv
         */
        this.canId = canId;
        this.canNif = canNif;
        this.canNss = canNss;
        this.canTlf1 = canTlf1;
        this.canTlf2 = canTlf2;
        this.canMail = canMail;
        this.canDir = canDir;
        this.canLocalidad = canLocalidad;
        this.canFechaNac = canFechaNac;
        this.canNom = canNom;
        this.canApe1 = canApe1;
        this.canApe2 = canApe2;
        this.canObserv = canObserv;
        this.empId = empId;
        this.proId = proId;
        this.canActivo = canActivo;
        this.conId = conId;
        this.estado = estado;
        this.candConv = candConv;
        
    }

    public boolean isCanActivo() {
        return canActivo;
    }

    public void setCanActivo(boolean canActivo) {
        this.canActivo = canActivo;
    }

    public String getCanApe1() {
        return canApe1;
    }

    public void setCanApe1(String canApe1) {
        //try {
            //if (Verificador.caracteresCorrectos(canApe1)) {
                this.canApe1 = canApe1;
            //}
        //}catch (Exception ex){
            //this.canApe1 = "";
        //}
    }

    public String getCanApe2() {
        return canApe2;
    }

    public void setCanApe2(String canApe2) {
        //try {
            //if (Verificador.caracteresCorrectos(canApe2)) {
                this.canApe2 = canApe2;
            //}
        //}catch (Exception ex){
            //this.canApe2 = "";
        //}
    }

    public String getCanDir() {
        return canDir;
    }

    public void setCanDir(String canDir) {
        this.canDir = canDir;
    }

    public Timestamp getCanFechaNac() {
        return canFechaNac;
    }

    public void setCanFechaNac(Timestamp canFechaNac) {
        this.canFechaNac = canFechaNac;
    }
    public void setCanFechaNac(String strCanFechaNac) {
        try {
            this.canFechaNac = Verificador.stringAFecha(strCanFechaNac);
        }catch (Exception ex){
            this.canFechaNac = null;
        }
    }

    public int getCanId() {
        return canId;
    }

    public void setCanId(int canId) {
        this.canId = canId;
    }

    public String getCanLocalidad() {
        return canLocalidad;
    }

    public void setCanLocalidad(String canLocalidad) {
        //try {
            //if (Verificador.caracteresCorrectos(canLocalidad)) {
                this.canLocalidad = canLocalidad;
            //}
       //}catch (Exception ex){
            //this.canLocalidad = "";
       // }
    }

    public String getCanMail() {
        return canMail;
    }

    public void setCanMail(String canMail) {
        //try {
            //if (Verificador.esEmail(canMail)) {
                this.canMail = canMail;
            //}
        //}catch (Exception ex){
            //this.canMail = "";
        //}
    }

    public String getCanNif() {
        return canNif;
    }

    public void setCanNif(String canNif) {
        //try {
            //if (Verificador.validarDni(canNif)) {
                this.canNif = canNif;
            //}
        //}catch (Exception ex){
            //this.canNif = "";
        //}
    }

    public String getCanNom() {
        return canNom;
    }

    public void setCanNom(String canNom) {
        //try {
            //if (Verificador.caracteresCorrectos(canNom)) {
                this.canNom = canNom;
            //}
        //}catch (Exception ex){
            //this.canNom = "";
        //}
    }

    public String getCanNss() {
        return canNss;
    }

    public void setCanNss(String canNss) {
        //try {
            //if (Verificador.esNSS(canNss)) {
                this.canNss = canNss;
            //}
        //}catch (Exception ex){
            //this.canNss = "";
        //}
    }

    public String getCanObserv() {
        return canObserv;
    }

    public void setCanObserv(String canObserv) {
        this.canObserv = canObserv;
    }

    public String getCanTlf1() {
        return canTlf1;
    }

    public void setCanTlf1(String canTlf1) {
        //try {
            //if (Verificador.comprobarTelefono(canTlf1)) {
                this.canTlf1 = canTlf1;
            //}
        //}catch (Exception ex){
            //this.canTlf1 = "";
        //}
    }

    public String getCanTlf2() {
        return canTlf2;
    }

    public void setCanTlf2(String canTlf2) {
        //try {
            //if (Verificador.comprobarTelefono(canTlf2)) {
                this.canTlf2 = canTlf2;
            //}
        //}catch (Exception ex){
            //this.canTlf2 = "";
        //}
    }

    public int getEmpId() {
        return empId;
    }

    public void setEmpId(int empId) {
        this.empId = empId;
    }

    public int getProId() {
        return proId;
    }

    public void setProId(int proId) {
        this.proId = proId;
    }

    public int getConId() {
        return conId;
    }

    public void setConId(int conId) {
        this.conId = conId;
    }

    public Estado getEstado() {
        return estado;
    }

    public void setEstado(Estado estado) {
        this.estado = estado;
    }

    public CandConv getCandConv() {
        return candConv;
    }

    public void setCandConv(CandConv candConv) {
        this.candConv = candConv;
    }

    /**
     * valida que los datos del alumno son correctos
     * @return
     */

    public ArrayList<String> validarCand() {
        ArrayList<String> errores = new ArrayList<String>();
        if (canNif == null || canNif.trim().isEmpty()) {
            errores.add("error-nif-vacio");
        }
        if (!Verificador.validarDni(canNif)) {
            errores.add("error-nif-incorrecto");
        }
        if (!Verificador.caracteresCorrectos(canNif)) {
            errores.add("error-nif-incorrecto");
        }
        if (!canNss.isEmpty() && !Verificador.numeroLongValido(canNss)) {
            errores.add("error-nss-incorrecto");
        }
        if (canNom == null || canNom.trim().isEmpty()) {
            errores.add("error-nombre-vacio");
        }
        if (!Verificador.caracteresCorrectos(canNom)) {
            errores.add("error-nombre-incorrecto");
        }
        if (canApe1 == null || canApe1.trim().isEmpty()) {
            errores.add("error-apellido1-vacio");
        }
        if (!Verificador.caracteresCorrectos(canApe1)) {
            errores.add("error-apellido1-incorrecto");
        }
        if (canApe2 == null || canApe2.trim().isEmpty()) {
            errores.add("error-apellido2-vacio");
        }
        if (!Verificador.caracteresCorrectos(canApe2)) {
            errores.add("error-apellido2-incorrecto");
        }
        if (!canTlf1.isEmpty() && !Verificador.comprobarTelefono(canTlf1)) {
            errores.add("error-tlf1-incorrecto");
        }
        if (!canTlf2.isEmpty() && !Verificador.comprobarTelefono(canTlf2)) {
            errores.add("error-tlf2-incorrecto");
        }
        if (!Verificador.caracteresCorrectos(canDir)) {
            errores.add("error-direccion-incorrecta");
        }
        if (!Verificador.caracteresCorrectos(canLocalidad)) {
            errores.add("error-localidad-incorrecta");
        }
        if (!Verificador.caracteresCorrectos(canMail)) {
            errores.add("error-mail-incorrecto");
        }
        return errores;
    }

}
